#!/usr/bin/env escript
%%
%% @author Arjan Scherpenisse <arjan@scherpenisse.net>
%% @copyright 2011 Arjan Scherpenisse
%% @doc Generates edoc documentation for the zotonic core system.

%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%%	 http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.

%%
%% usage zotonic generate-edoc
%%

files(Path) ->
    filelib:fold_files(Path, ".*erl$", true, fun(F, Acc) -> [F|Acc] end, []).

outpath(Component) ->
    Path = filename:join([os:getenv("ZOTONIC"), "doc", Component]),
    filelib:ensure_dir(filename:join([Path, ".empty"])),
    Path.

main(_) ->
    SrcPath = filename:join([os:getenv("ZOTONIC"), "src"]),
    Files = files(SrcPath),
    edoc:files(Files, [{dir, outpath("core")}]),
    io:format("Generated core edoc files in ~p~n", [outpath("core")]).
